/**
 * 
 */
package cn.bjsxt.user.service.impl;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONObject;

import cn.bjsxt.common.util.PageInfoUtil;
import cn.bjsxt.user.dao.IAAdminsDao;
import cn.bjsxt.user.pojo.AAdmins;
import cn.bjsxt.user.service.IAUserService;

/**
 * @author bo
 *
 */
@Service("userService")
public class AUserServiceImpl implements IAUserService {
	@Resource
	private IAAdminsDao adminsDao;
	/*管理员信息操作开始*/
	/*
	 * 添加一条管理员信息
	 */
	public JSONObject insert(AAdmins admins) {
		JSONObject resaultJson = new JSONObject();
		int resualt=adminsDao.insert(admins);
		if(resualt > 0){
			resaultJson.put("code", "0");
			resaultJson.put("info", "插入成功");
		}else{
			resaultJson.put("code", "1");
			resaultJson.put("info", "插入失败");
		}
		
		return resaultJson;
	}

	/*
	 * 删除一条管理员信息
	 */
	public JSONObject delete(Map<String ,Object> condMap) {
		JSONObject resaultJson = new JSONObject();
		int resualt=adminsDao.delete(condMap);
		if(resualt > 0){
			resaultJson.put("code", "0");
			resaultJson.put("info", "删除成功");
		}else{
			resaultJson.put("code", "1");
			resaultJson.put("info", "删除失败");
		}
		
		return resaultJson;
	}

	/*
	 * 更新一条管理员信息
	 */
	public JSONObject update(AAdmins admins) {
		JSONObject resaultJson = new JSONObject();
		int resualt=adminsDao.update(admins);
		if(resualt > 0){
			resaultJson.put("code", "0");
			resaultJson.put("info", "更新成功");
		}else{
			resaultJson.put("code", "1");
			resaultJson.put("info", "更新失败");
		}
		
		return resaultJson;
	}

	/* 
	 * 查询一条管理员信息
	 */
	public AAdmins findOne(Map<String, Object> condMap) {
		AAdmins admins =adminsDao.findOne(condMap);
		return admins;
	}

	/* 
	 * 查询多条管理员信息
	 * 查询总记录数：pegeinfo == false
		查询多条信息分页： pageinfo ==true
		查询多条信息不分页：pageinfo == null;
	 */
	public List<AAdmins> findCondList(PageInfoUtil pageInfoUtil,Map<String, Object> condMap) {
		/*
		 * 创建List集合存放返回管理员信息
		 */
		List<AAdmins> adminList = new ArrayList<AAdmins>();
		
		if(condMap.get("keyWord")==null){
			condMap.put("keyWord", "");
		}
		if(condMap.get("keyWord")!="" ){
			/*
			 * 如果存在keyWord信息，则拼装该信息为模糊查询
			 */
			condMap.put("keyWord", "%"+condMap.get("keyWord")+"%");
		}
		/*
		 * 如果PageInfoUtil为 空，则表示不分页查询数据
		 */
		if(pageInfoUtil==null){
			condMap.put("pageinfo", "null");
			adminList=adminsDao.findCondList(condMap);
		}
		/*
		 * 如果PageInfoUtil不为空，则表示分页查询，先查询总记录数，然后查询分页信息
		 */
		
		if(pageInfoUtil !=null){
			condMap.put("pageinfo", "false");
			/*
			 * 设置分页信息的总记录数
			 */
			//获得查询结果
			List<AAdmins> adminsList =  adminsDao.findCondList(condMap);
			//获得总记录数
			int tatol =adminsList.get(0).getId();
			pageInfoUtil.setTotalRecord(tatol);
			/*
			 * 将分页信息 放入Map集合中
			 */
			condMap.put("currRecord", pageInfoUtil.getCurrRecord());
			condMap.put("pageSize", pageInfoUtil.getPageSize());
			
			/*
			 * 查询分页信息
			 */
			
			condMap.put("pageinfo", "true");
			adminList= adminsDao.findCondList(condMap);
		}
		return adminList;
	}

}
